matlab GUI里面如何保留小数点后特定位数并显示 |
您所在的位置:网站首页 › matlab app designer uitable › matlab GUI里面如何保留小数点后特定位数并显示 |
笔者最近在GUI编程中想让数值保留小数点后三位数显示在界面中。 常见的函数有: 一、取整函数 1.向零取整(截尾取整) fix-向零取整(Round towards zero); >> fix(3.6) ans = 3 2.向负无穷取整(不超过x 的最大整数-高斯取整) floor-向负无穷取整(Round towards minus infinity); >> floor(-3.6) ans = -4 3.向正无穷取整(大于x 的最小整数) ceil-向正无穷取整(Round towards plus infinity); >> ceil(-3.6) ans = -3 4.向最近整数取整,四舍五入(四舍五入取整) round-向最近整数取整,四舍五入(Round towards nearest integer); >> round(3.5) ans = 4 二、在小数点后某一位四舍五入,即保留几位小数,也经常用到。 1.数值型 roundn—任意位位置四舍五入 >>a=123.4567890; >>a=roundn(a,-4) a = 123.4568 其中roundn函数功能如下: y = ROUNDN(x) rounds the input data x to the nearest hundredth. %不指定n,精确到百分位 y = ROUNDN(x,n) rounds the input data x at the specified power %精确到小数点后指定位数n 2.符号型 digits(4) vpa(....) 必须说明:vpa命令不能识别整数与小数,只算总位数,因此对它来说小数整数无论哪个都占一位,例如对9.3154保留两位小数时就得写成: >>a=9.3154; >>digits(3) >>b=vpa(a) b= 9.32 其中b为符号型变量; 3.字符型 >>a=12.34567; >>b = sprintf('%8.2f',a) b = 12.35 其中b为字符型变量。 附大佬的帖子:各种方法总结的很详细。 https://blog.csdn.net/dalaipifengxiansheng/article/details/52641724 https://blog.csdn.net/witnessai1/article/details/52432473 笔者用的是roundn,保留小数点后三位。 在命令行输入: sum1=[1.2345,2.4567,8.4]; sum1=roundn(sum1,-3); 结果是: sum1 = 1.2350 2.4570 8.4000 有人会疑惑,不是说显示小数点后三位吗?怎么后面还有多余的0。笔者试了一下,在GUI可编辑文本中显示的时候,后面多余的0是看不到的。所以可以放心使用。 GUI可编程文本显示数值代码如下: str1=num2str(sum1(1,1));%将sum1数组第一行第一列数字转为字符。 obj1=handles.edit1;%edit1是想显示数字所对应的可编辑文本。 set(obj1,'String',str1);%显示数字 可以通过双击可编辑文本,弹出其属性检查器查看,其中Tag中的标志符就是edit1。 从GUI可编程文本中获取数字的代码是: a= get(handles.edit1,'String'); sum1=str2double(a); |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |